#!/bin/sh

#no se testea: test_basico3.sh test_basico4.sh test_basico5.sh y las referidas a test_error

cantTestError=0

myDiff(){

  nombreTest=$1
  diff $2 $3 2>&1 >/dev/null
  resultado=$?
 
  if [ $resultado -eq 0 ] 
  then
     echo "$nombreTest OK" 
  else
     echo "$nombreTest FALLO"
     let cantTestError++
     #exit 1
  fi
}
################################################################################
#test_basico1.sh
echo -n "test text." > testfile1.bin
./tp1 -l 4 -d " " -i testfile1.bin -o testfile1.oct
./tp1 -b -d " " -i testfile1.oct -o testfile1.bin.new
myDiff "test_basico1" testfile1.bin.new testfile1.bin
rm  testfile1.bin testfile1.oct testfile1.bin.new

#test_basico2.sh
echo -n "test text." > testfile2.bin
./tp1 -l 4 -i testfile2.bin -o testfile2.oct
./tp1 -b -i testfile2.oct -o testfile2.bin.new
myDiff "test_basico2" testfile2.bin.new testfile2.bin
rm  testfile2.bin testfile2.oct testfile2.bin.new

#test_comparacion1.sh
echo -n "Quien pisa con suavidad va lejos." > testfile2.bin
./tp1 -i testfile2.bin -o testfile2.oct
./tp1 -b -i testfile2.oct -o testfile2.bin.new
myDiff "test_comparacion1" testfile2.bin.new testfile2.bin
rm  testfile2.bin testfile2.oct testfile2.bin.new

#test_comparacion2.sh
echo -n "121165151145156040160151163141040143157156040163165141166151144141144040166141040154145152157163056" > testfile3.oct
./tp1 -b -i testfile3.oct -o testfile3.bin
./tp1 -i testfile3.bin -o testfile3.oct.new
myDiff "test_comparacion2" testfile3.oct.new testfile3.oct
rm  testfile3.oct testfile3.bin testfile3.oct.new

#test_comparacion3.sh
echo -n "Quien pisa con suavidad va lejos." > testfile4.bin
./tp1 -l 4 -d "." -i testfile4.bin -o testfile4.oct
./tp1 -b -d "." -i testfile4.oct -o testfile4.bin.new
myDiff "test_comparacion3" testfile4.bin.new testfile4.bin
rm  testfile4.bin testfile4.oct testfile4.bin.new

#test_random1.sh
head -c10 /dev/urandom | ./tp1 -o /tmp/random-octaldump -l 6 -d "|"
./tp1 -b -d "|" -i /tmp/random-octaldump -o /tmp/random-octaldump.new
echo "Mediante el comando od -c -w6 sobre el archivo binario /tmp/random-octaldump.new," 
echo "se visualizarán los caracteres imprimibles y aquellos que no lo"
echo "sean serán visualizados mediante su representacion octal."
od -c -w6 /tmp/random-octaldump.new
./tp1 -o -l 6 -d "|" -i /tmp/random-octaldump.new -o /tmp/random-octaldump.new.new
myDiff "test_random1" /tmp/random-octaldump.new.new /tmp/random-octaldump
rm  /tmp/random-octaldump /tmp/random-octaldump.new /tmp/random-octaldump.new.new
################################################################################

#verifico que pasaron todas la pruebas
if [ $cantTestError -eq 0 ] 
then
 echo "PASARON CASI TODAS LAS PRUEBAS!!!"
else
 echo "NO PASARON TODAS LAS PRUEBAS!!!"
fi 
 
